Network User Association

ABSTRACT

A method for user association, i.e., user equipment-base station, UE-BS, association, in a cellular network is specifically designed for user association, for instance in 5G mmWave cellular networks. The method is based on the rational that network throughput may be low because of the weakest UE suffering from a weak direct link or high interference from other BSs in the network. Thus, swapping the worst UE-BS connection is likely to provide the UE a stronger link, i.e. a better connection to another BS, and/or reduce the interference, which consequently improves the throughput. An optional approach is based on matching theory, which uses preference lists maintained at the BSs and UEs.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No. 62/851,034, filed May 21, 2019, which is incorporated herein by reference.

BACKGROUND

This invention relates to network user association, for example for millimeter wave MIMO networks, and in particular to determining user association to maximize network utility (e.g., overall capacity or throughput).

User association is an important problem in a variety of wireless networks in which a user may be able to connect to any of one or more base stations surrounding the user, for instance in 5G millimeter wave (mmWave) networks and beyond, which use a concept called “network densification,” to determine which base station (BS) a user equipment (UE) connects to in order to balance base station loads and maximize network utility, such as throughput. Given that the connections may be highly directional and vulnerable to small channel variations, and that network deployment is expected to be dense where each UE can be surrounded by several BSs, user association may be optimized and updated frequently at the frame time scale or at a chosen regular interval to maintain network performance.

SUMMARY

In one aspect, in general, a method for UE-BS association in a cellular network is specifically designed for user association in 5G mmWave cellular networks. The method is based on the rational that network utility (e.g., throughput) may be low because of the weakest UE suffering from a weak direct link or high interference from other BSs in the network. Thus, swapping the worst UE-BS connection is likely to provide the UE a stronger link (better connection to another BS) and/or reduce the interference, which consequently improves the throughput. This reasoning leads to approach to swap the BS in the worst UE-BS connection with all other BSs and then take the best configuration which results in the highest network throughput. The method has fast convergence with the number of iterations growing linearly with the number of UEs, and the runtime growing quadratically, which is several orders of magnitude faster than the popular genetic algorithm and exhaustive search. The implementation of this algorithm in a cellular system is straightforward and efficient using the new cloud radio access network (C-RAN) architecture.

In another aspect, in general, a method is used to maximizing a measure of total capacity of a network. The network includes a plurality of base stations (“BS”), a plurality of user devices (also referred to as user equipment, “UE”), and a plurality of associations, each of which has a corresponding user device of the plurality of user devices and a corresponding a base station of the plurality of base stations (i.e., each association links one user device and one base station). The method includes performing an iteration, where each iteration includes the following steps. A current total capacity (or other utility) of a plurality of current associations is evaluated based on a measure of capacity for each association in a plurality of current associations. A swapping association is selected from the plurality of current associations. For instance, the association with the lowest capacity of the current associations is selected as the swapping association. This swapping association links a corresponding swapping base station in the plurality of base stations and a corresponding swapping user device in the plurality of user devices. A total capacity of the network is evaluated resulting from each of a number of possible swapping of the swapping association with other associations of the swapping user device and other base stations (i.e., other than the swapping base station) of the plurality of base stations. A swapping of two associations corresponds with exchanging the base stations, or equivalently exchanging the user equipment, of the two associations to yield two modified associations. A best total capacity resulting from the possible swapping is determined. A determination is made as to whether this best total capacity exceeds the current total capacity. The plurality of current associations is then modified based on the determination of whether the best total capacity exceeds the current total capacity. This modification includes modifying an association corresponding to the swapping user device.

Aspects can include one or more of the following.

In at least some iteration, determining whether the best total utility exceeds the current total utility includes determining that the best total utility exceeds the current total utility. Modifying the plurality of current associations include swapping the swapping association and an association among the other associations. That association yields the best total utility. The swapping has the effect of removing the swapping association and the association of the other associations and adding an association of the swapping user device and the base station of the other association and adding an association of the user device of the other association and the swapping base station.

In at least some iteration, determining whether the best total utility exceeds the current total utility includes determining that the best total utility does not exceed the current total utility. Modifying the plurality of current associations the plurality of current associations include switching the swapping association and an other association of the plurality of current associations.

The other association of the plurality of current associations is selected by selecting a user device other than the swapping user device such that different user devices are selected in different iterations.

The measure of capacity an association in a plurality of associations depends on channel characteristics between the corresponding user device and corresponding base station, as well as the channel between all user devices and all base stations including the ones not associated with the user device or the base station in question.

The channel characteristics between the corresponding user device and corresponding base station have multiple-input multiple-output (MIMO) channel characteristics. This has the advantage beamforming characteristics that are used by multiple antenna base stations are taken into account when determining channel characteristics.

The measure of capacity of an association depends on channel characteristics between user devices and base stations corresponding to other associations of the plurality of associations. This has the advantage that the channel capacity between a particular user device and its associated base station takes into account interference (or potential interference) resulting from other associations of base stations and user devices.

In another aspect, in general, an approach to distributed user association is based on matching theory. A distributed matching game allows users to apply for association with their ranked-preference base station in a distributed fashion. In some examples, an early acceptance is provided to users as soon as they are in the base station's preference list with available quota.

In another aspect, in general, a method associates a plurality of user devices with a plurality of base stations in a communication network. The method comprises a distributed process performed at the user devices and the base stations. the distributed process comprises: at each user device (UE k), maintaining a preference list (

_(k) ^(UE)) representing an ordered subset of the base stations; at each base station (BS j), maintaining a preference list (

_(j) ^(BS)) representing an ordered subset of the user devices; and at a first iteration of a plurality of interative steps of the distributed process, for each user device of at least some of the user devices, sending a respective first application message from said user device to a respective first base station selected from the preference list of said user device, and at a first base station of the plurality of base stations, receiving application messages sent from multiple of the user devices, selecting one or more of the user devices based at least in part on the received application messages, rejecting one or more of the user devices not selected by said base station, and sending rejection messages to the rejected one or more of the user devices.

Aspects may include one or more of the following.

At each iteration of the plurality of iterative steps, the first base station selects user devices from a set of user devices comprising user devices from which application messages were received.

The set of user devices from which said base station selects further comprises a waiting list of base stations maintained by said base station, and the first base station updates the waiting list based on the selected base stations.

The waiting list maintained by the first base station includes a number of user devices less than or equal to a first quota of user devices associated with the first base station.

Selecting the one or more of the user devices comprises selecting a number of user devices less than or equal to the first quota of user devices.

The rejected one or more user devices comprise user devices from which application messages were received and user devices in the waiting list for the base station, and that were not selected by the base station.

At a second iteration of the plurality of iterative steps of the distributed process, a rejection message is received at a first user device, and the first user device sends a second application message to a second base station selected from the preference list of said user device, where that second base station has a lower preference than the first base station selected by the first user device in the first iteration.

At a last iteration of the plurality of iterative steps of the distributed process, each base station forms an association with user devices according to the waiting list at said base station.

Maintaining the preference lists comprises maintaining said lists according to at least one of highest instantanceous communication rates between user devices and base stations, channel norms of channels between the user devices and the base stations, and channel quality indicators of channels between the user devices and the base stations.

At the first iteration at the first base station, an application message is received from a first user device that is in a top part of the first base station's preference list, and an acceptance message is send from the first base station to said first user device forming an association between the first bases station and the first user device.

The plurality of iterative steps of the iterative procedure are repeated to form successive associations of the user devices and the base stations.

The base stations data provide representing associations between user devices and base stations determined using the interative steps of the distributed process to a central controller, and receive from the controller updated associations between the user devices and the base stations.

The information representing the associations comprises data characterizing channels corresponding to the associations.

Other features and advantages of the invention are apparent from the following description, and from the claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is an exemplary wireless network with user devices connected to base stations via respective wireless associations.

FIG. 2 is the network of FIG. 1, further illustrating one of the user devices with a potential alternative wireless association that is different from the wireless association it is currently using.

FIG. 3 is the network of FIG. 1 after switching base stations of two respective user devices.

FIG. 4 is a diagram of overhead structure for centralized user association over PDCCHs (solid arrows) and PUCCHs (dashed arrows).

FIG. 5 is a diagram overhead structure for distributed user association, over PDCCHs (solid arrows) and PUCCHs (dashed arrows).

FIG. 6 is a flowchart of an association process in DA game when a UE k is associated with BS j

FIG. 7 is a flowchart of an association process in DA game when UE k is rejected by all BSs.

FIG. 8 is a flowchart of a user association process in an EA game when UE k is associated with BS j.

FIG. 9 is a flowchart of a user association process in an EA game when UE k is not associated (rejected at the mth (last) iteration of the game, with m≥J).

DETAILED DESCRIPTION 1 Centralized Matching Embodiment

Referring to FIG. 1, a first embodiment, which makes use of a centralized approach to matching, is described below with reference an exemplary network 10. The network 10 consists of a plurality of user devices 12 communicating with base stations in a plurality of base stations 14 via a set of wireless associations 16. Each user device in the plurality of user devices 12 is shown to have exactly one base station in the plurality of base stations 14 with which it is communicating, and this communication is represented by exactly one wireless association of the plurality of wireless associations 16 between a user device and base station communicating with one another. For example, a first user device 12 a is shown to be communicating with a first base station 14 a via a first wireless association 16 a. (Note that reference to communication via an association refers to communication on a radio channel between the stations that are associated, and in general, the radio channel is directional by virtue of use of multiple antennas at the base station and/or the user device.) The first wireless association 16 a is shown to be the only association being maintained by the first user device 12 a—as such, it is the only wireless association in the set of wireless associations 16 shown to be associated with the first user device 12 a. Conversely, each base station in the plurality of base stations 14 can receive multiple wireless associations. This is illustrated by the fact that a second wireless association 16 b, though being the only wireless association in the plurality of wireless associations 16 associated with a second user device 12 b, is associated with the first base station 14 a of the plurality of base stations, thereby sharing a base station with the first user device 12 a and its associated wireless signal 16 a. A third user device 12 c in the plurality of user devices 12 is shown to be communicating with a third base station 14 c in the plurality of base stations 14 via a third wireless association 16 c in the plurality of wireless associations 16. A second base station 14 b and a fourth base station 14 d, both part of the plurality of base stations 14, are shown to have no wireless associations associated with them.

Very generally, the approach described below attempts to select the associations 16 between the user devices 12 and the base stations 14 such that a total utility is maximized, and in particular a total communication capacity measured as the sum of the capacity on each association is maximized. The approach is iterative, such that at each iteration one association changes such that over time, the overall utility is increase and ideally maximized. Note that as user devices move and channel conditions change, the approach tracks these changes to maintain a good association that adapts to the changes.

At the start of the iteration, the total current capacity is evaluated as the sum of the capacities of the associations in the current set of associations. In FIG. 1, this corresponds to the sum of the capacities of associations 16 a-c. Note that this evaluation takes into account a best selection of MIMO based beamforming configurations for each of the associations, and the resulting interference between communication on different of the associations. In at least some examples, the evaluation of total capacity is made for downstream channels only from the base stations to the user devices.

One of the associations is selected for swapping. In some implementations, this association is selected as having the lowest capacity. In this illustrative example, we assume that association 16 b linking user device 12 b and base station 14 a has the lowest capacity.

Referring now to FIG. 2, the network 10 seen in FIG. 1 is shown illustrating an evaluation of the result of swapping association 16 b (for the sake of clarity referred to as the “swapping association”) with other possible associations of the user device 12 b (referred to as the “swapping user device”) and base stations other than base station 14 a (referred to as the “swapping base station”). Here, the system evaluates the total capacity resulting from the second user device 12 b having a potential (i.e., proposed) association 17 with base station 14 b rather than its current association with base station 14 a. The system evaluates the result of the swapping of association 16 b with 17. That is, the system evaluates the total capacity with associations 16 a, 17 a, 17 b, and 16 c. The potential wireless associations 17 a and 17 b are representative of a pair of potential wireless associations (i.e., resulting in swapping associations 16 b and 16 c) between the second user device 12 b and third base station 14 c, as well as a potential wireless connection between the third user device 12 c and the first base station 14 a. The total capacities resulting from each of the swappings are compared, and one of these potential swaps is determined to have the best total capacity after the swap.

At this point in the iteration, a determination is made as to whether the best total capacity after the swap is better than the current total capacity, and a modification of the associations is made according to this determination. There are two possible results of the determination: either the swap improves the total capacity, or it does not.

Referring to FIG. 3, the result is shown in the event that the total capacity is would be improved by the swapping assessed in FIG. 2. In this example, the association 16 c shown in FIG. 1 is selected as that other association. Having selected that other association, the base stations associated with those respective wireless associations (16 b and 16 c) are exchanged resulting in removal of those association, and insertion of new associations 19 and 20, linking user device 12 b and base station 14 c and user device 12 c and base station 14 a, respectively.

In at least some iterations, a determination is made that the best swap will not improve the total capacity. When such a determination is made, another association is selected for swapping (e.g., as a pseudo random selection, a selection according to the iteration index, etc.) and the swap is made in the manner illustrated above, without improving overall utility.

After performing a modification of the associations, either of the type shown in FIG. 3, the iteration repeats until all potential switching associations have been exhausted.

2 System and User Association Models

A number of further embodiments are described below in the context of the following system and user association model. In particular, at least some of the embodiments address user association in the downlink of a two-tier heterogeneous network (HetNet) with one macro cell BS (MCBS) operating at microwave band, J−1 small cell BSs (SCBSs) working at millimeter wave (mmWave) band, and K UEs. Let

={1, . . ., J} denotes the set of all BSs, and

={1, . . ., K} represents the set of UEs. Each BS j has M_(j) antennas, and each UE k is equipped with two antenna modules: 1) a single-antenna module for LTE/4G connections at microwave band, and 2) a UPA antenna with N_(k) element for 5G connections at mmWave band. Each UE k aims to receive n_(k) data streams from its serving BS such that 1≤n_(k)≤N_(k), where the upper inequality comes from the fact that the number of independent data streams for each UE cannot exceed the number of its antennas. We assume that each UE is equipped with a multi-mode modem that can support both sub-6 GHz and mmWave bands so that association to either MCBS or SCBS is possible.

2.1 Microwave and mmWave Channel Models

In this subsection, we introduce the microwave and mmWave channel models. In the microwave band the transmissions are omnidirectional and we use a Gaussian channel model. We denote h_(μW) as the channel vector between a MCBS and a UE where its entries are i.i.d. complex Gaussian random variables with zero-mean and unit variance, i.e., h_(μw)˜

(0, 1). In the mmWave band, the transmissions are highly directional and the Gaussian MIMO channel model no longer applies. We employ the specific clustered mmWave channel model which includes C clusters with L rays per cluster defined as

$\begin{matrix} {H_{mmW} = {\frac{1}{\sqrt{CL}}{\overset{C}{\sum\limits_{c = 1}}{\overset{L}{\sum\limits_{l = 1}}{\sqrt{\gamma_{c}}{a\left( {\phi_{c,l}^{UE},\theta_{c,l}^{UE}} \right)}{a^{*}\left( {\phi_{c,l}^{BS},\theta_{c,l}^{BS}} \right)}}}}}} & (1) \end{matrix}$

where γ_(c) is the power gain of the cth cluster. The parameters ϕ^(UE), θ^(UE), ϕ^(BS), θ^(BS) represent azimuth angle of arrival (AoA), elevation angle of arrival (EoA), azimuth angle of departure (AoD), and elevation angle of departure (EoD), respectively. The vector a(ϕ, θ) is the response vector of a uniform planar array (UPA) which allows 3D beamforming in both the azimuth and elevation directions. We consider the probability of LoS and NLoS, and utilize the path loss model for LoS and NLoS links.

2.2 Signal Model

In a HetNet composed of different types of BSs, each BS can have a different quota of the number of UEs it can serve simultaneously. We assume each BS's quota is determined based on its available resources (data streams). Thus, we can define the total number of downlink data streams sent by BS j as

$\begin{matrix} {D_{j} = {\sum\limits_{k \in S_{j}}n_{k}}} & (2) \end{matrix}$

where

_(j) is called the Activation Set of BS j which represents the set of active UEs in BS j, such that

_(j)⊆

, |

_(j)|=q_(j)≤K, and q_(j) is the quota of BS j. The total number of downlink data streams sent by each BS should be less than or equal to its number of antennas, i.e., D_(j)≤M_(j). All analysis and results in this paper are per association block, and thus we do not consider a time index in our formulations.

The M_(j)×1 transmitted signal from the BS can be defined as

$\begin{matrix} {x_{j} = {{F_{j}d_{j}} = {\sum\limits_{k \in S_{j}}{F_{k}s_{k,j}}}}} & (3) \end{matrix}$

where s_(k,j)∈

^(n) ^(k) is the intended data stream vector for UE k sent from BS j which consists of mutually uncorrelated zero-mean symbols, with average power

[s*_(k,j)s_(k,j)]=P_(k,j). The column vector d_(j)∈

^(D) ^(j) represents the vector of data symbols of BS j, which is the vertical concatenation of the data stream vectors s_(k,j), k∈

_(j). Matrix F_(k,j)∈

^(M) ^(j) ^(×n) ^(k) is the unitary linear precoder (transmit beamforming matrix) for each UE k associated with BS j with Tr(F_(k,j)F*_(k,j))=1. Matrix F_(j)∈

^(M) ^(j) ^(×D) ^(j) the linear precoder of BS j which is the horizontal concatenation of users' linear precoders. The power constraint at BS j is given by

[x*_(j)x_(j)]=

_(j)P_(k,j)≤P_(j), where P_(k,j) represents the transmit power from BS j to UE k, and P_(j) is the total transmit power of BS j.

The post-processed signal of UE k after receive beamforming is given by

$\begin{matrix} {{\overset{˜}{y}}_{k} = {{\sum\limits_{j \in \mathcal{J}}{W_{k}^{*}H_{k,j}x_{j}}} + {W_{k}^{*}z_{k}}}} & (4) \end{matrix}$

where H_(k,j)∈

^(N) ^(k) ^(×M) ^(j) represents the channel matrix between BS j and UE k, and W_(k)∈

^(N) ^(k) ^(×n) ^(k) is the unitary linear combiner (receive beamforming) matrix of UE k. z_(k)∈

^(N) ^(k) is the white Gaussian noise vector at UE k, with z_(k)˜

(0, N₀I_(N) _(k) ) and N₀ is the noise power spectral density.

The presented signal model is applicable to a wide range of types of transmit beamforming and receive combining. In a number of embodiments, we assume channel matrices between each pair of UE-BS are available through CSI estimation techniques. Then, singular value decomposition (SVD) technique may be used to obtain precoding and combiner matrices at BSs and UEs, respectively. Variants of the approaches described below can be applied to other types of beamforming including hybrid (analog and digital) beamforming which can be implemented in mmWave systems to reduce cost and power consumption of large antenna arrays.

2.3 User Association Model

Because of directional beamforming in mmWave systems, the interference structure depends on the user association. Taking into account the interference structure is important for mmWave systems where the channels are probabilistic and fast time-varying, and the interference depends on the highly directional connections between BSs and UEs. In a number of embodiments described below user association is performed during a time duration which we call an association block, which can span a single or multiple transmission time slots depending on the availability of CSI and is a design choice.

In particular, in each association block, the user association process happens in the header sub-block which establishes the UE-BS connection for the rest of the association block. The header sub-block is further divided into sub-slots during each of which UEs can apply to a BS for association. In a fully distributed algorithm, UE-BS associations can be determined at the end of each sub-slot in the header sub-block. In centralized or semi-distributed algorithms, however, final user association is determined at the end of the header sub-block. The length of the association header sub-block therefore can vary for each UE's association block depending on the delay in the association process for that UE. In the next association block, the user association process needs to be performed again to update associations according to users' mobility and channel variations. Specifically, an association block can represent a single time slot, when both instantaneous (small-scale) and large-scale CSI are available, or it can be composed of several consecutive time slots when only large-scale CSI is available. Such a choice will lead to a trade-off between user association overhead and resulting network performance.

We use the microwave and mmWave channel models presented above in Sec. 2.1 to generate CSI for each association block. Alternatively a simple mmWave channel model based on large-scale fading components and antenna gains. In that case, the present user association scheme is still applicable as the large-scale parameters remain constant for a longer period of time.

In unique user association each UE can be served by only one BS in each association block. That is, UE-BS associations can be completely determined by an association vector β defined as follows

β=[β₁, . . . , β_(K)]^(T)  (5)

where β_(k) represents the index of BS to which user k is associated, i.e., β_(k)∈

with k∈

. The relationship between the activation set of BS j and the elements of an association vector can be described as

_(j) ={k:β _(k) =j}.  (6)

Considering the post-processing received signal at user k in (4), the instantaneous rate of UE k from BS j can be obtained as

$\begin{matrix} {\mspace{79mu}{{R_{k,j}(\beta)} = {\log_{2}{{I_{n_{k}} + {{V_{k.j}^{- 1}(\beta)}P_{k,j}W_{k}^{*}H_{k,j}F_{k,j}F_{k,j}^{*}H_{k,j}^{*}W_{k}}}}}}} & (7) \\ {{V_{k,j}(\beta)} = {{W_{k}^{*}{H_{k,j}\left( {\sum\limits_{\underset{l \neq k}{l \in \mathcal{S}_{j}}}{P_{l,j}F_{l,j}F_{l,j}^{*}}} \right)}H_{k,j}^{*}W_{k}} + {{W_{k}^{*}\left( {\sum\limits_{\underset{i \neq j}{l \in \mathcal{J}}}{\sum\limits_{l \in \mathcal{S}_{i}}{P_{l,i}H_{k,i}F_{l,i}F_{l,i}^{*}H_{k,i}^{*}}}} \right)}W_{k}} + {N_{0}W_{k}^{*}W_{k}}}} & (8) \end{matrix}$

where V_(k,j) is the interference and noise covariance matrix.

The instantaneous per-user throughput can be expressed as

r k ⁡ ( β ) = ∑ j ∈ 𝒥 ⁢ ⁢ β k = j ⁢ R k , j ⁡ ( β ) ( 9 )

where

_(β) _(k) _(j) is the indicator function such that

_(β) _(k) ^(=j)=1 if β_(k)=j, and

_(β) _(k) _(=j)=0 if β_(k)≠j. Note that the instantaneous rate in (7) and hence the instantaneous per-user throughput in (9) change according to the activation sets

_(j), and thus the throughput is a function of the association vector β.

3 Centralized vs. Distributed User Associations

An optimization problem can be formulated to find the association vector to maximize the network sum rate, subject to load balancing and unique association constraints. Such an optimization problem may be formulated as an integer nonlinear programming, which is known to be NP-hard due to its non-convex and nonlinear structure and presence of integer variables. It has been shown that there is no analytical solution for this problem due to the presence of integer variables. Suboptimal and/or heuristic centralized algorithms can be used to solve such a problem. Although centralized algorithms can reach a near-optimal solution, they require a central coordinator, for example, located in a cloud-radio access network (C-RAN), to collect all required CSI and perform the user association process. Such a centralized structure is depicted in FIG. 4 where BSs transmit CSI reference signals via physical downlink control channels (PDCCHs) to enable UEs to estimate the CSI. In the ideal case, the estimated CSI is sent back to BSs and then forwarded to C-RAN where the central coordinator is located. Since at each iteration of a centralized algorithm user instantaneous rates are updated based on the current association vector, raw CSI and not the SINR must be available to compute these user rates. After collecting all required CSI from the network, the central coordinator runs the user association algorithm to find the best possible connections. The signaling overhead in this ideal centralized structure is usually high due to network densification in 5G HetNets, which requires a significant amount of CSI to be reported. Although centralized algorithms may reach a near-optimal solution, they can suffer from high computational cost and time complexity as the network size increases. Moreover, the erratic nature of mmWave channels in 5G HetNets may require frequent CSI updates and hence makes the practical implementation of these centralized algorithms challenging.

A centralized user association algorithm can alternatively be implemented in a more practical approach with lower signaling overhead, albeit at possibly reduced performance. In an example of such an alternative case, UE only reports specific CSI components to BS and not raw CSI to avoid the above large signaling overhead. In particular, each BS transmits a request for CSI estimation at UEs. Then, each UE measures channel quality indicators (CQIs), and reports these CQIs to the corresponding BSs. Then, each BS reports the received CQIs from all UEs to C-RAN, where the central coordinator runs the algorithm to obtain a near-optimal association vector. The algorithm output (e.g., network throughput) will be less than in the case of using raw CSI due to the use of CQI instead, which does not allow an accurate update of the interference and noise covariance matrix at each iteration. Nevertheless, this is a trade-off network operators need to make between the algorithm output and signaling overhead. Finally, BSs are notified about their associations and each UE is informed by its serving BS.

Distributed user association algorithms described below provide a low-complexity approach with a reasonably low convergence time. As depicted in FIG. 5, these algorithms only involve low bit-rate signaling exchanges between UEs and BSs such that association decisions happen in a distributed fashion without a need for a central coordinator. Here the UEs exchange messages with the BSs directly and the association decision for different UEs can occur at different times. Below, we employ matching theory and describe a new matching game to solve the user association problem in a distributed fashion. We also describe a multi-game matching algorithm to further improve the network performance. This algorithm is semi-distributed as it only requires a central coordinator to exchange minimal signaling overhead.

4 Matching Game

Matching theory provides a suitable framework for user association in fast-varying mmWave systems due to its low-complexity and fast convergence time. User association can be posed as a matching game with two sets of players—the BSs and the UEs. In this game, each player collects the required information to build a preference list based on its own objective function using local measurements. Each user then apply to the BSs based on its preference list, and association decision is made by the BSs individually. Thus, no central coordinator is required to perform user association. This feature makes matching theory an efficient approach for designing a distributed user association in 5G HetNets.

4.1 User Association Matching Game Concepts

In the context of matching theory, user association problem can be considered as a college admission game where the BSs with their specific quota represent the colleges and UEs are considered as students. This framework is suitable for user association in a HetNet where BSs may have different quotas and capabilities. In order to formulate our user association as a matching game, we first introduce some basic concepts based on two-sided matching theory.

4.1.1 Preference Relation

A preference relation

, helps UE k to specify the preferred BS between any two BSs i,j∈

, i≠j such that

k

_(k) i⇔Ψ _(k,j) ^(UE)≥Ψ_(k,i) ^(UE)⇔UE k prefers BS j to BS i  (10)

where Ψ_(k,j) ^(UE) is the preference value between UE k and BS j, which can be simply a local measurement at the UE (e.g. SINR). Similarly, for any two UEs k,l∈

, k≠l, each BS builds a preference relation

_(j) such that

k

_(j) l⇔Ψ _(k,j) ^(BS)≥Ψ_(l,j) ^(BS)⇔BS j prefers UE k to UE l  (11)

4.1.2 Preference List

Based on the preference relations, each UE k (BS j) builds its own preference list

_(k) ^(UE) (

_(j) ^(BS)) over the set of all BSs (UEs) in descending order of preference.

4.1.3 Matching Relation

Association vector defines a matching relation (in this description we use the terms “association vector” and “matching relation” interchangeably), which specifies the association between UEs and BSs and has the following properties

-   -   1. β_(k)∈         with k∈         ;     -   2. β_(k)=j if and only if k∈         (j).

The second property states that the association vector is a bilateral matching.

4.1.4 Matching Game

A user association matching game

is a game with two sets of players (BSs and UEs) and a set of rules which apply on the input data to obtain a result. The input data of the game are:

-   -   Preference lists of BSs:         _(j) ^(BS), ∀j∈     -   Preference lists of UEs:         _(k) ^(UE), ∀k∈     -   BSs' quotas: q_(j), ∀j∈

and game outcome or result is the association vector β. Each particular game is defined by the specific way of building preference lists and its set of rules.

4.2 Building Preference Lists

A preliminary step in a matching game is to build the preference lists of the players. In this subsection, we describe the process of building the preference lists for the UEs and BSs. These preference lists can be built based on a number of metrics, including users' instantaneous rates, channel norms or UEs' local measurements.

4.2.1 Users' Instantaneous Rates

Using users' instantaneous rates to build preference lists uses the knowledge of both instantaneous and large-scale CSI. For example, we can use the user instantaneous rate in (7) as the objective function for both sides of the game, i.e.,

Ψ_(k,j) ^(UE)=Ψ_(k,j) ^(BS) =R _(k,j) , ∀k∈

, j∈

  (12)

In other words, each UE prefers the BS which provides the highest user instantaneous rate, and each BS is willing to serve the UE that can get the highest user instantaneous rate. This metric, however, results in frequent update of the preference value which depends on the association of other users and can complicate the process. One approach is fixing the association of all other UEs based on an initial association vector for computing the current user's instantaneous rates from all BSs.

Alternatively, we can switch the association of the current UE with another UE connected to a BS while computing the instantaneous rate from that BS to the current UE, in order to maintain the BS quota. This switching can be either random or with the weakest UE connected to that BS.

4.2.2 Channel Norms

The preference lists can alternatively be built based on just CSI. As stated earlier, we assume both instantaneous and large-scale CSI available through beamforming CSI estimation techniques. In this case, the preference values can be expressed as the Frobenius norm of a MIMO channel

Ψ_(k,j) ^(UE)=Ψ_(k,j) ^(BS) =∥H _(k,j)∥_(F) , ∀k∈

, j∈

  (13)

where H_(k,j) is the channel matrix between UE k and BS j, and the operator |.|_(F) represents the Frobenius norm. Using the channel norm, each UE (BS) ranks the BSs (UEs) and builds its own preference list such that the BS (UE) with the strongest channel (highest channel norm) is the most preferred one. The preference lists can also be built based on large-scale CSI alone, which will stay valid for longer durations but may result in a lower overall network utility.

4.2.3 Local CQI Measurements

Yet another alternative approach to building the preference lists is based on UEs' local measurements. Using reference signal received power (RSRP) information, each UE measures the received SINR from each BS as a ratio of a valid signal to non-valid signals. Then, the UE converts this SINR information to CQI values and reports them to BSs via the PUCCH signaling mechanism. In this approach, the preference values are given by

Ψ_(k,j) ^(UE)=Ψ_(k,j) ^(BS)=CQI_(k,j) , ∀k∈

, j∈

  (14)

where CQI_(k,j) represents the channel quality between UE k and BS j. Using CQI values, each UE (BS) ranks the BSs (UEs) such that the BS (UE) with the highest CQI is the most preferred one. CQI values are attractive in the sense that they are simple to measure locally at each UE and can be reported to BSs through uplink control information.

5 Deferred Acceptance User Association Matching Game

Below, we describe the rules of this game in the context of user association. Before starting the game, we set the preference index of all UEs to one (m_(k)=1, ∀k), initialize the waiting lists of all BSs (

_(j) ⁰=∅, ∀j), and form a rejection set

including all K UEs. At nth iteration of the game, each UE k applies to its m_(k)th preferred BS by sending an application message. Each BS j then ranks its new applicants together with the UEs in its current waiting list (

_(j) ^(n−1)) based on its preference list, keeps the first q_(j) UEs in its new waiting list

_(j) ^(n), and rejects the rest of UEs. Each BS accordingly sends a response of either rejection or waitlisting to new UE applicants as well as those previously in its waiting list but are now rejected. Rejected UEs remain in the rejection set, update their preference index m_(k), and apply to their next preferred BS in the next iteration. At each new iteration, each BS forms a new waiting list by selecting the top q_(j) UEs among the new applicants and those on its current waiting list. The game terminates when the rejection set is empty or every UE in the rejection set has applied to all BSs.

In the DA game, the associations are only determined when the game terminates. The BSs use their waiting lists to keep the most preferred UEs over all application rounds, and the final waiting lists after the last iteration determine the associations. This DA user association process is shown in FIG. 6, where a UE k is associated with BS j, and in FIG. 7, where UE k is rejected by all BSs. The algorithm for the DA user association game is described as follows

Data:  

 _(j) ^(BS),  

 _(k) ^(UE), q_(j), ∀k ∈  

 , j ∈  

  Result: Association vector β = [β₁, β₂, . . . , β_(K)] Initialization: Set m_(k) = 1, ∀k,  

 _(j) ⁰ = ∅, ∀j, n = 1, and form a rejection set  

  = {1, 2, . . . , K}; while  

  = Ø or Σ_(j=1) ^(J) q_(j) ≠ 0 do | Each UE k ∈  

  applies to its m_(k)th preferred BS; | Each BS j forms its current waiting list  

 _(j) ^(n) from its new applicants and its previous waiting | list  

 _(j) ^(n−1); | Each BS j keeps the first q_(j) preferred UEs from  

 _(j) ^(n+1), and reject the rest of them; | for k ∈  

  do | | m_(k) ← m_(k) + 1; | end | n ← n + 1; end Form β based on the final waiting lists  

 _(j), j = 1, . . . , J.

6 Early Acceptance Matching

The example of the DA game described above defers matching decision until the last iteration of the game, and thus is suitable for processes which do not require making real-time decisions. When applied to user association, however, all UEs are kept in BSs' waiting lists until the game terminates. This game can result in excessive delay for the association process and can be problematic when it comes to user association in a fast-varying mmWave systems or those requiring low-latency communications. In order to overcome this problem, we describe below an alternative set of matching games, called early acceptance (EA) games, to solve the user association problem in 5G cellular HetNets. In an EA game, BSs immediately decide about acceptance or rejection of UEs at each application round. This leads to a significantly faster and more efficient user association procedure.

6.1 Early Acceptance User Association Matching Games

We describe below three examples of distributed EA matching games, which follow a set of similar rules, but are different in terms of updating the UE/BS preference lists and reapplying to BSs. Similar to the DA game, an EA game takes as input data the preference lists of BSs and UEs and quota of BSs, and delivers a matching relation β. The initial step of these games is similar to that of DA which is to set the preference index of all UEs to one (m_(k)=1, ∀k) and form a rejection set

composed of all K UEs.

6.1.1 EA-Base Game

In a first example, the game defines the basic rules of the EA games. At each iteration of the game, each UE k∈

. applies to its m_(k)th preferred BS (say BS j) regardless of its available quota. If UE k is among the top q_(j) UEs in the preference list of BS j, it will be immediately accepted by this BS, and the game updates the association vector with β_(k)=j. The accepted UEs will be removed from the rejection set

. and any rejected UEs will apply to their next preferred BS in the next iteration.

This game is the simplest form EA since the UEs and BSs do not update their preference list during the game, and if a UE is rejected by a BS it will not reapply to that BS. These features make the EA-Base game very fast with only a small number of applications (≤J) for each UE. However, at the end of this game some UEs may be unassociated regardless of loading scenarios.

6.1.2 EA-PLU (EA with Preference List Updating) Game

In order to improve the performance of EA-Base, in a second example, we update the preference lists of UEs and BSs at the end of each iteration. When an association happens, the following updates occur: 1) associated UEs are removed from the rejection set and the preference lists of all BSs, and 2) for each new association with BS j, its quota is updated as q_(j)←q_(j)−1. When a BS runs out of quota, it informs all the UEs by sending a broadcast message and the UEs remove this BS from their preference lists. As a result, the UEs will no longer apply to that BS. Similar to EA-Base though, there is still no guarantee that all UEs are associated at the end of the EA-PLU game.

6.1.3 EA-PLU-RA (EA with Preference List Updating and ReApplying) Game

In order to improve the percentage of associated users, in a third example, we allow each UE to reapply to those BSs from which it has been rejected in previous iterations. Recall that if a UE is rejected by a BS, it will be kept in the rejection set. In the following iterations, each UE applies to the next preferred BS in its updated preference list. When an UE reaches the end of its updated preference list, it comes back to the beginning and repeats the application process until its updated preference list becomes empty or it is associated. With this reapplication, when the length of the original preference list of each UE is equal to J, no UE is unassociated at the end of the game in underload and critical load cases (see Lemma 1). In case of an incomplete original preference list, UE unassociation is possible. The user association process in the EA-PLU-RA game is depicted in FIG. 8, when UE k is associated with BS j, and in FIG. 9, when UE k is not associated (i.e., rejected at the mth (last) iteration of the game, with m≥J). A formal description of this game is shown below.

We note that it is practical to update the preference lists of UEs and BSs after each round of applications during an EA matching game. When UE-BS associations occur, the associating BSs update their quota and preference lists. They also inform all other BSs (via backhaul links) and UEs (via a cell broadcast message) to update their preference lists accordingly. In particular, each BS updates its quota and remove associated UEs from its preference list. If a BS runs out of quota, all unassociated UEs remove that BS from their preference lists. This reporting mechanism incurs minimal signaling overhead in practical implementations.

Data:  

 _(j) ^(BS),  

 _(k) ^(UE), q_(j), ∀k ∈  

 , j ∈  

  Result: Association vector β = [β₁, β₂, . . . , β_(K)] Initialization: Set m_(k) = 1, ∀k, and form the rejection set  

  = {1, 2, . . . , K}; while  

  ≠ Ø do | Each UE k ∈  

  applies to its m_(k)th preferred BS (namely BS j with q_(j) ≠ 0); | if k ∈  

 _(j) ^(BS)(1 : q_(j)) then | | β_(k) = j; | | q_(j) ← q_(j) − 1; | | if q_(j) = 0 then | | | Remove BS j from  

 _(k) ^(UE), ∀k ∈  

 ; | | end | | Remove UE k from  

  and  

 _(j) ^(BS), ∀j ∈  

 ; | else | | m_(k) ← m_(k) + 1; | end end

7 Multi-Game Semi-Distributed Matching

The distributed matching games are fast and efficient in terms of delay and power consumption, but due to the distributed nature, they may not reach the performance of centralized algorithms. If we can afford some delay and additional power consumption as well as a minimal central coordination, we can further enhance the performance in terms of a network utility. In this section, we describe an alternative user association optimization problem which aims to maximize a network utility function, then describe a multi-game matching algorithm which requires running multiple rounds of a game and a central coordinator to exchange minimal signaling messages.

7.1 User Association Optimization

We first formulate an optimization problem that maximizes a network utility function while satisfying load balancing constraints on the BS s. Defining the instantaneous user throughput vector r(β)

(r₁(β), . . . , r_(K)(β)), we wish to find the optimal β, which maximizes an overall network utility function U(r(β)). We consider the widely used sum-rate utility function and write the optimization problem as

⁢maximize β ⁢ ⁢ U ⁡ ( r ⁡ ( β ) ) ⁢ = Δ ⁢ ∑ k ∈ 𝒦 ⁢ r k ⁡ ( β ) = ∑ k ∈ 𝒦 ⁢ ∑ j ∈ 𝒥 ⁢ β k = j ⁢ R k , j ⁡ ( β ) ( 15 ⁢ a ) subject ⁢ ⁢ to ⁢ ⁢ ∑ j ∈ 𝒥 ⁢ β k = j ≤ 1 , ∀ k ∈ 𝒦 , ∑ k ∈ 𝒦 ⁢ β k = j · n k ≤ D j , ∀ j ∈ 𝒥 ( 15 ⁢ b )

where the optimization variables are β_(k)∈

for k∈

. Note that other utility functions such as the max-min fairness can also be applied. The first set of constraints in (15 b) reflects the unique association criteria indicating that each UE can only be connected to one BS during an association block. The second set of constraints in (15 b) represents the BSs' load constraints denoting that the sum of data streams of UEs served by each BS cannot exceed the total number of available data streams on that BS. That is, each BS j can only serve up to q_(j) UEs (see (2)). Here, we consider an equal power allocation scheme to split each BS's transmit power equally among its associated users, i.e., P_(k,j)=P_(j)/q_(j). Note that the load constraints allows our formulation to specify each BS's quota separately. This makes the resulting user association scheme applicable to HetNets where there are different types of BSs with different capabilities.

Due to the dependency between user association and interference structure of the network, user instantaneous rates or local measurements could change with different associations. Thus, the preference lists may change according to user associations. In particular, at the end of a user association matching game, we obtain an association vector β which specifies the UE-BS connections. Since the user instantaneous rate is a function of β, the resulting preference lists at the end of a game round may be different from the original one at the start of the same round, and performing another round of a matching game may produce a better user association in terms of a network utility. In order to keep improving the network performance, we introduce a matching algorithm which plays multiple rounds of a matching game in an iterative manner. Each round of a game is aimed to maximize the sum-rate as in (15), given the initial association vector obtained from previous round of the game.

Algorithm 1: Multi-Game Matching Algorithm for User Association with Max-throughput Data:  

 ,  

 , q_(j), ∀j ∈  

 , Path loss information Result: Near-optimal association vector β* Initialization: - Set the number of games (N); - Build initial preference lists of BSs and UEs ( 

 _(j) ⁰,  

 _(k) ⁰, ∀k, j) based on channel norms; - Perform a matching game (DA or EA) to obtain initial β¹; for n = 1 : N do | Calculate R_(k,j)(β^(n)), ∀k, j; | Build preference lists  

 _(j) ^(n), ∀k ∈  

  and  

 _(k) ^(n), ∀k ∈  

 ; | Perform a matching game (DA or EA) to obtain β^(n+1); end β* = arg max_(n=1,...,N) U(r(β^(n))).

7.2 Multi-Game Matching Algorithm for Max-Throughput

This matching algorithm requires an initial association vector β¹ which can be obtained by performing a user association matching game in the initialization procedure. The preference lists of BSs and UEs for this initial game can be built based on channel norms as described in Sec. 4.2.

At each subsequent iteration of the algorithm, by fixing the associations of all other UEs based on the current association vector β^(n), each UE computes the instantaneous rate it can get from each BS and reports this rate to the corresponding BS. Then, each BS (UE) updates its preference list by ranking all UEs (BSs) based on the computed instantaneous rates. Next, a matching game (DA or EA) is performed to obtain the new association vector β^(n+1). This new association vector will be used to establish the preference lists for the next round.

The algorithm performs the matching game N times. At the end of each iteration, the BSs report their associations to a central coordinator which computes the utility function and keeps track of the best association vector. As N increases, there is a higher chance of obtaining a better association at the cost of more association delay and higher power consumption at the UEs. The value of N can be determined based on practical delay and power constraints. At the end of the algorithm, the central coordinator notifies the BSs with the best association vector corresponding to the highest network utility. Although this algorithm requires a central coordinator to keep track of the best association vector, at each iteration, the game is performed in a purely distributed manner. This algorithm is described in Alg. 1.

8 Alternatives and Implementations

Implementations of the approaches described above may be implemented in software, including using instructions stored on non-transitory machine-readable media, and these instructions when executed by a data processing system (e.g., a centralized and/or a distributed computing architecture) cause the system to perform the steps described above. 

1. A method for maximizing a measure of total utility of a network including a plurality of base stations, a plurality of user devices, and a plurality of associations, wherein each association has a corresponding user device of the plurality of user devices and a corresponding base station of the plurality of base stations, the method comprising, performing an iteration, each iteration including evaluating a current total utility of a plurality of current associations based on a measure of capacity for each association in a plurality of current associations; selecting a swapping association from the plurality of current associations, the swapping association having a corresponding swapping base station in the plurality of base stations and a corresponding swapping user device in the plurality of user devices; evaluating a total utility of the network resulting from possible swapping of the swapping association with other associations of the plurality of associations, each association of the other associations having a user device other than the swapping user device and a base station other than the swapping base station; determining a best total utility resulting from the possible swapping; determining whether the best total utility exceeds the current total utility; and based on the determination of whether the best total utility exceeds the current total utility, modifying the plurality of current associations including modifying an association corresponding to the swapping user device.
 2. The method of claim 1 wherein the measure of total utility includes a measure of total throughput or capacity.
 3. The method of claim 1 wherein, in at least some iteration, determining whether the best total utility exceeds the current total utility includes determining that the best total utility exceeds the current total utility, and modifying the plurality of current associations include swapping the swapping association and an association of the other associations that yields the best total utility having an effect of removing the swapping association and the association of the other associations and adding an association of the swapping user device and the base station of the other association and adding an association of the user device of the other association and the swapping base station.
 4. The method of claim 1 wherein, in at least some iteration, determining whether the best total utility exceeds the current total utility includes determining that the best total utility does not exceed the current total utility, and modifying the plurality of current associations include swapping the swapping association and an other association of the plurality of current associations.
 5. The method of claim 4 further comprising selecting the other association of the plurality of current associations by selecting a user device other than the swapping user device such that different user devices are selected in different iterations.
 6. The method of claim 1 wherein the measure of utility of an association in a plurality of associations depends on channel characteristics between the corresponding user device and corresponding base station.
 7. The method of claim 6 wherein the channel characteristics between the corresponding user device and corresponding base station include multiple-input multiple-output (MIMO) channel characteristics.
 8. The method of claim 6 wherein the measure of utility of an association in the plurality of associations further depends on channel characteristics between user devices and base stations corresponding to other associations of the plurality of associations.
 9. A method for associating a plurality of user devices with a plurality of base stations in a communication network, the method comprising a distributed process performed at the user devices and the base stations, the distributed process comprising: at each user device, maintaining a preference list representing an ordered subset of the base stations; at each base station, maintaining a preference list representing an ordered subset of the user devices; at a first iteration of a plurality of interative steps of the distributed process, for each user device of at least some of the user devices, sending a respective first application message from said user device to a respective first base station selected from the preference list of said user device, and at a first base station of the plurality of base stations, receiving application messages sent from multiple of the user devices, selecting one or more of the user devices based at least in part on the received application messages, rejecting one or more of the user devices not selected by said base station, and sending rejection messages to the rejected one or more of the user devices.
 10. The method of claim 9 wherein at each iteration of the plurality of iterative steps, the first base station selects user devices from a set of user devices comprising user devices from which application messages were received.
 11. The method of claim 9 wherein maintaining the preference lists comprises maintaining said lists according to at least one of highest instantaneous communication rates between user devices and base stations, channel norms of channels between the user devices and the base stations, and channel quality indicators of channels between the user devices and the base stations.
 12. The method of claim 9 wherein, at the first iteration at the first base station, receiving an application message from a first user device in a top part of the first base station's preference list, and sending an acceptance message to said first user device forming an association between the first base station and the first user device.
 13. The method of claim 9 wherein, at the first iteration at each base station, receiving an application message from a first set of user devices in a top part of said base station's preference list, and sending an acceptance message to said first set of user devices forming an association between said base station and the first set of user devices.
 14. The method of claim 9 comprising repeating the plurality of iterative steps of the iterative procedure to form successive associations of the user devices and the base stations.
 15. The method of claim 9 further comprising providing from the base stations data representing associations between user devices and base stations determined using the iterative steps of the distributed process to a central controller, and receiving from the controller at the base stations updated associations between the user devices and the base stations.
 16. The method of claim 15 wherein the information representing the associations comprises data characterizing channels corresponding to the associations.
 17. The method of claim 1 wherein the measure of total utility includes a measure of total throughput or capacity; wherein, in at least some iteration, determining whether the best total utility exceeds the current total utility includes determining that the best total utility exceeds the current total utility, and modifying the plurality of current associations include swapping the swapping association and an association of the other associations that yields the best total utility having an effect of removing the swapping association and the association of the other associations and adding an association of the swapping user device and the base station of the other association and adding an association of the user device of the other association and the swapping base station; wherein the method further comprises selecting the other association of the plurality of current associations by selecting a user device other than the swapping user device such that different user devices are selected in different iterations; and wherein the measure of utility of an association in a plurality of associations depends on channel characteristics between the corresponding user device and corresponding base station.
 18. The method of claim 9 wherein at each iteration of the plurality of iterative steps, the first base station selects user devices from a set of user devices comprising user devices from which application messages were received; and wherein maintaining the preference lists comprises maintaining said lists according to at least one of highest instantaneous communication rates between user devices and base stations, channel norms of channels between the user devices and the base stations, and channel quality indicators of channels between the user devices and the base stations; wherein the method further comprises repeating the plurality of iterative steps of the iterative procedure to form successive associations of the user devices and the base stations; wherein the method further comprises providing from the base stations data representing associations between user devices and base stations determined using the iterative steps of the distributed process to a central controller, and receiving from the controller at the base stations updated associations between the user devices and the base stations; and wherein the information representing the associations comprises data characterizing channels corresponding to the associations. 